
#staticmethod静态方法装饰器
#将类函数可以不经过实例化而直接被调用
#被该装饰器调用的函数不许传递self或cls参数
#且无法在该函数内调用其它类函数或类变量

class Test(object):
    def __init__(self, a):
        self.a = a

    def run(self):
        print('run')
        self.sleep()  # 可调用staticmethod函数

    @staticmethod
    def sleep(data = None):
        print('I want to sleep')
        # 不能使用 self 和 cls

        
#直接调用
Test.sleep()
#I want to sleep
        
#用实例调用
t = Test(0)
t.sleep()
#I want to sleep